﻿// See https://aka.ms/new-console-template for more information
	///光标移动游戏
    //初始化
    Console.Write("Hello, World!");
	int x = 0;int y=0;
	ConsoleKey Input;
    //循环移动
do
{    
    //每循环一次，清理
	Console.Clear();
    //定位光标位置
    Console.SetCursorPosition(x,y);
    Console.Write("Hello, World!");
    //赋值输入的给变量Input
    Input = Console.ReadKey().Key;
    switch (Input)
{
		//输入a，得到光标左移
        case ConsoleKey.A:
			x--;
            //判断是否溢出边界
			if (x < 0) x = 0;
            if (y < 0) y = 0;
            //输出改变后的光标位置
            Console.SetCursorPosition(x, y);  
			Console.Write("Hello, World!"); break;
        //输入d，得到光标右移
        case ConsoleKey.D:
			x++;
            //判断光标溢出边界
            if (x < 0) x = 0;
            if (y < 0) y = 0;
            //输出改变后的光标位置
            Console.SetCursorPosition(x, y);
            Console.Write("Hello, World!"); break;
        //输入w，得到光标上移
        case ConsoleKey.W:
			y--;
            //判断光标溢出边界
            if (x < 0) x = 0;
            if (y < 0) y = 0;
            //输出改变后的光标位置
            Console.SetCursorPosition(x, y);
            Console.Write("Hello, World!"); break;
        //输入s，得到光标下移
        case ConsoleKey.S:
            y++;
            //判断光标溢出边界
            if (x < 0) x = 0;
            if (y < 0) y = 0;
            //输出改变后的光标位置
            Console.SetCursorPosition(x, y);
            Console.Write("Hello, World!"); break;
}
    //输出z时中止光标的移动，退出循环
}while (Input!=ConsoleKey.Z);